关注Python高校
程序猿(ID:imkuqin) 整编
综合自:zibuyu9微博、https://www.zhihu.com/question/345718537、龙芯中科等
近日,知乎上有条帖子火了,有人提问:清华大学计算机专业本科这位在「自己写的 CPU 上运行自己写的操作系统」的同学是什么水平?
起因是前几天清华的刘知远教授在一条微博上发了清华大学某位计算机专业的本科生的直博面试简历,简历上写着:实现了在自己写的CPU上运行自己写的操作系统,以及自己实现的编译器生成的程序......
此条微博很快引起了热议,许多网友都说很牛逼,连刘知远老师都称赞。附上微博网友的评论让你们品一品:
清华大佬不得不服,怕是我研究生毕业也难以望其项背,路长且艰!
神仙中的神仙,告辞[跪了][跪了][跪了]要见证同时代的巨佬的诞生了吗[跪了][跪了][跪了]
有人质疑,两个月时间应该是复现为主吧,某项目则成员霸气回应:作为被打码的人很负责任的说不是......
不过对于网友的称赞,题主表示自己体会不到,希望有人能形象比喻一下。接着,刘知远教授在知乎上对该问题做了补充回答,表示:清华大学计算系有三门必修课分别是计算机组成原理、操作系统和编译原理,这三门课是分在几个学期上的,各自有一套大作业体系。然而,这位面试的同学却融会贯通了这三门课的知识,在同一套体系下完成了三门课的大作业。
虽然对于常年浸淫这些领域的专家不算什么,但是对于一名大三的本科生,在这一个忙碌的学期里,愿意主动折腾这些硬核内容,完成了一个项目,这是很难得的事情。刘知远还表示该同学简历上的这句“在自己写的CPU上运行自己写的操作系统,以及自己实现的编译器生成的程序”,反映的是一位热爱计算机技术少年的浪漫情怀。
同时,刘知远教授又附上了另一段这位同学的另一份简历:
NonTrivialMIPS -十级流水双射MIPS处理器:该项目由陈晟祺、周聿浩、刘晓义和陈嘉杰四位同学组成的清华大学计算机系代表队在“龙芯杯”比赛获得特等奖,受邀在“2019年高等院校计算机系统类课程研讨会”进行报告。
自行设计 CPU 核心及 SoC,并在上面运行测试程序。清华计算机系学生代表队设计并实现了双发射 10 级流水线 CPU,支持运行最新版 Linux 内核,启动 X11 图形界面以及Python、GCC等程序等。在OpenSSL上利用AES单元加速后吞吐率大约为10MBps,同频率下i7-8750H的2.7倍
rCore for MIPS32 - Rust语言实现的Linux兼容操作系统:这是一个操作系统的课程项目,rCore 是用 rust 编写的一个操作系统,持了 x86_64, RISCV32/64, AArch64 三个平台。本项目将其移植到 MIPS32 上。它最终可以在组成原理课程编写的 MIPS32 处理器上运行。
该项目实现了在自己写的CPU上运行自己写的操作系统,以及自己实现的编译器生成的程序
以上的话题的主人公是清华计算机系本科生周聿浩同学(miskcoo),曾经是一名 OIer,第一次参赛就拿到了省一。
而且,miskcoo也在知乎上回帖了,他表示这些项目实际上是他和另外几个同学一起完成的:
这些东西实际上是我和另外几个同学一起做的。他们都十分厉害,在前面一个龙芯杯的参赛作品的 CPU、SoC、Linux 移植以及其它一些东西里面我主要做的是 CPU 的部分。如果没有他们的话一个暑假完成这样一件事情在我的能力范围内是不太可能的。
另外这个“在自己写的 CPU 上运行自己写的操作系统”项目,也是多人共同努力的结果,这一情况已经在RCore仓库下面做了详细说明。关于“自己实现的编译器”部分,miskcoo 表示,本质上是基于编译原理课程的 Decaf 编译器修改而来,完成的情况比较丑陋。
除此之外,他还贴出一张Git 统计出来的各个提交的时间:
miskcoo还表示在清华优秀的人还是很多的,他们在各自擅长的领域都有值得学习的地方,不希望自己做过的东西被拿来过分的抬高
关于前面提到的系统都已经在Github上开源了,感兴趣的伙伴们可以仔细研究学习:
NonTrivialMIPS -十级流水双射MIPS处理器
这个是参加 “龙芯杯” 的作品,获得特等奖,是一个十级双发射顺序 MIPS32 处理器(Github地址:https://github.com/trivialmips/nontrivial-mips)
rCore for MIPS32 - Rust语言实现的Linux兼容操作系统
支持的体系结构:x86_64,RISCV32 / 64,AArch64,MIPS32。(Github地址:https://github.com/rcore-os/rCore)
Rust toolchain at nightly-2019-03-05
Cargo tools: cargo-xbuild
QEMU >= 3.1.0
bootimage (for x86_64)
RISCV64 GNU toolchain (for riscv32/64)
AArch64 GNU toolchain (for aarch64)
musl-cross-make (for userland musl, or download prebuilt toolchain from musl.cc)
libfuse-dev (for userland image generation)
See Travis script for details.
------------------- End -------------------
历史阅读:
来了!Python 3.8 重磅更新正式发布!
Python 最强 IDE 详细使用指南!
最靠谱的Pycharm 汉化安装+ 破解详细教程!
Python 开发植物大战僵尸游戏
一款 Python 自动抢票神器,收藏起来回家不愁!
一键分析你上网行为,看你是在认真工作还是摸鱼
我给曾经暗恋的初中女同学,用Python实现了她飞机上刷抖音
被女朋友三番五次拉黑后,我用 Python 写了个“舔狗”必备神器
谁偷偷删了你的微信?别慌!Python 揪出来
最全 14 张思维导图:教你构建 Python 编程的核心知识体系!
这里除了干货一无所有
人生苦短,我选在看